Fix some memory handling issues. (#347043, Chris Wilson)
authorMatthias Clasen <mclasen@redhat.com>
Mon, 10 Jul 2006 16:51:52 +0000 (16:51 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 10 Jul 2006 16:51:52 +0000 (16:51 +0000)
2006-07-10  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkfilechooserbutton.c: Fix some memory handling
issues.  (#347043, Chris Wilson)

ChangeLog
ChangeLog.pre-2-10
gtk/gtkfilechooserbutton.c

index 2aaced8cb33fa3c05679ce4ec3f3d191af31d128..b74fdc6823af122d8278bc1f731fc740dfb2fa61 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-07-10  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkfilechooserbutton.c: Fix some memory handling
+       issues.  (#347043, Chris Wilson)
+
 2006-07-10  Emmanuele Bassi  <ebassi@gnome.org>
 
        * gtk/gtkrecentchooserdefault.c (scan_for_uri_cb): Do not
index 2aaced8cb33fa3c05679ce4ec3f3d191af31d128..b74fdc6823af122d8278bc1f731fc740dfb2fa61 100644 (file)
@@ -1,3 +1,8 @@
+2006-07-10  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkfilechooserbutton.c: Fix some memory handling
+       issues.  (#347043, Chris Wilson)
+
 2006-07-10  Emmanuele Bassi  <ebassi@gnome.org>
 
        * gtk/gtkrecentchooserdefault.c (scan_for_uri_cb): Do not
index 38e1ab8bf57c64b5769d98214ccb786457e91271..ad57571f8b558213fcce738462e82c7d76b33c66 100644 (file)
@@ -460,7 +460,7 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button)
                                        G_TYPE_CHAR,     /* Row Type */
                                        G_TYPE_POINTER   /* Volume || Path */,
                                        G_TYPE_BOOLEAN   /* Is Folder? */,
-                                       G_TYPE_OBJECT    /* handle */));
+                                       G_TYPE_POINTER   /* handle */));
 
   priv->combo_box = gtk_combo_box_new ();
   priv->combo_box_changed_id =
@@ -894,9 +894,7 @@ gtk_file_chooser_button_destroy (GtkObject *object)
       priv->dialog = NULL;
     }
 
-  gtk_tree_model_get_iter_first (priv->model, &iter);
-
-  do
+  if (priv->model && gtk_tree_model_get_iter_first (priv->model, &iter)) do
     {
       model_free_row_data (button, &iter);
     }
@@ -1604,6 +1602,7 @@ model_add_special_get_info_cb (GtkFileSystemHandle *handle,
                      -1);
 
 out:
+  g_object_unref (data->button);
   gtk_tree_row_reference_free (data->row_ref);
   g_free (data);